能夠存取資料庫了,有時我們可能會需要將資料庫的內容,以 API 的形式,傳輸給其他的開發者。
這時候,我們可以用到 Ktor 這個框架,來協助我們進行API Server 的開發。
Ktor 是一個能快速建立網頁後端的框架,由 JetBrains 公司開發並維護。
簡單介紹,這個框架有幾個特點
由於 Kotlin 和 Java 生態系吻合度非常好,有許多工程師在遇到網頁後端的需求時,會選用 Java 生態系內的框架來解決這個問題。
在這些選擇內,Ktor 是少數幾個使用全 Kotlin 撰寫的網頁框架。
Ktor 利用了 Kotlin 語法精簡的特性,設計出了即使和其他語言的框架相比,都是非常簡單好用的後端框架。
舉例來說,用 Ktor 建立一個 Hello world 的 API,程式碼如下
routing {
get("/hello") {
call.respondText("Hello")
}
}
透過 Kotlin 的 coroutine,Ktor 可以很容易的處理非同步的需求。
例如,我們可以用 async/await 的方式,來進行對外部資料的存取
val client = HttpClient(CIO)
val firstRequest: Deferred<String> = async { client.get("http://localhost/path1") }
val secondRequest: Deferred<String> = async { client.get("http://localhost/path2") }
val firstRequestContent = firstRequest.await()
val secondRequestContent = secondRequest.await()
總結來說,對於 Kotlin 開發者,Ktor 可以說是在開發和維運的各個方面,都非常有優勢的一個後端框架。
有關這個框架的安裝和開發,去年筆者已經寫過了一系列鐵人賽 最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server,有興趣的朋友可以去看看。